package main

import "fmt"

// 注意：
// 1. recover()必须搭配 defer 使用。
// 2. defer 一定要在可能引发 panic 的语句之前定义。
func funcA1() {
	fmt.Println("func A")
}
func funcB1() {
	defer func() {
		err := recover()
		//如果程序出出现了 panic 错误,可以通过 recover 恢复过来
		if err != nil {
			fmt.Println("recover in B")
		}
	}()
	panic("panic in B")
}
func funcC1() {
	fmt.Println("func C")
}
func main() {
	funcA1()
	funcB1()
	funcC1()
}
